Efficient Index Generation for Compiling Two-Level Mappings in Data-Parallel Programs

نویسندگان

  • Kuei-Ping Shih
  • Jang-Ping Sheu
  • Chua-Huang Huang
  • Chih-Yung Chang
چکیده

This paper presents compilation techniques used to compress holes, which are caused by the nonunit alignment stride in a two-level data-processor mapping. Holes are the memory locations mapped by useless template cells. To fully utilize the memory space, memory holes should be removed. In a two-level data-processor mapping, there is a repetitive pattern for array elements mapped onto processors. We classify blocks into classes and use a class table to record the distribution of each class in the first repetitive data distribution pattern. Similarly, data distribution on a processor also has a repetitive pattern. We use a compression table to record the distribution of each block in the first repetitive data distribution pattern on a processor. By using a class table and a compression table, hole compression can be easily and efficiently achieved. Compressing holes can save memory usage, improve spatial locality and further improve system performance. The proposed method is efficient, stable, and easy to implement. The experimental results do confirm the advantages of our proposed method over existing methods.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic Generation of Efficient Parallel Programs from EpsiloNN Neural Network Specifications

A new methodology for the generation of efficient parallel programs from high-level neural network specifications is presented. All possible mappings of the neural network onto the parallel processors are generated and evaluated by using a description of the parallel target architecture. Thus the optimal mapping can be determined at compile-time and efficient parallel simulation code can be gen...

متن کامل

Value - Based Distributions and Alignments in Fortran DReinhard

Compiling irregular applications written in a data-parallel language, like Fortran D or High Performance Fortran (HPF), presents a challenge of growing importance. A major component of data-parallel programming is the data mapping, i.e., data distribution and alignment. Map-pings may be either regular, in which case they correspond to simple functions between array indices and owning processors...

متن کامل

Efficient address sequence generation for two-level mappings in High Performance Fortran

Data-parallel languages like High Performance Fortran allow users to specify mappings of array by first aligning elements to an abstract Cartesian grid called templates and then distributing the templates across processors. Code generation then includes the generation of the sequence of local addresses accessed on a processor. Address sequence generation for non-unit alignment strides— referred...

متن کامل

Factor-Join: A Unique Approach to Compiling Array Languages for Parallel Machines

This paper describes a new approach to compiling and optimizing array languages for parallel machines. This approach rst decomposes array language operations into factors, where each factor corresponds to a diierent communication or computation structure. Optimizations are then achieved by combining, or joining, these factors. Because factors preserve high level information about array operatio...

متن کامل

Runtime and Language Support for Compiling Adaptive Irregular Programs on Distributed-memory Machines

In many scientific applications, arrays containing data are indirectly indexed through indirection arrays. Such scientific applications are called irregular programs and are a distinct class of applications that require special techniques for parallelization. This paper presents a library called CHAOS, which helps users implement irregular programs on distributed memory message-passing machines...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Parallel Distrib. Comput.

دوره 60  شماره 

صفحات  -

تاریخ انتشار 2000